package com.yunhe.inspect.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunhe.common.annotation.NameTitle;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @ClassName DataInspectOrderVo
 * @Description TODO
 * @Author HeTao
 * @Date 2021/11/11 11:07
 * @Version 1.0
 **/
@Data
@ApiModel("巡检工单列表查询对象")
public class DataInspectOrderVo implements Serializable {

    private static final long serialVersionUID = -6158660576289853415L;

    @ApiModelProperty("工单id")
    private Integer id;

    @ApiModelProperty("巡检工单编号")
    private String inspectOrderNo;

    @ApiModelProperty("巡检工单标题")
    private String inspectOrderTitle;

    @ApiModelProperty("所属部门")
    private Long orgId;

    @ApiModelProperty("所属部门名称")
    @NameTitle(nameType = "ORG",nameCode = "orgId")
    private String orgName;

    @ApiModelProperty("企业名称")
    private String companyName;

    @ApiModelProperty("房源名称")
    private String officeName;

    @ApiModelProperty("巡检类型")
    private String inspectType;

    @ApiModelProperty("巡检类型title")
    @NameTitle(nameType = "ITEM",nameCode = "inspectType")
    private String inspectTypeTitle;

    @ApiModelProperty("巡检状态")
    private String inspectStatus;

    @ApiModelProperty("巡检状态title")
    @NameTitle(nameType = "ITEM",nameCode = "inspectStatus")
    private String inspectStatusTitle;

    @ApiModelProperty("工单生成时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd" )
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private String inspectOrderGenerationTime;

    @ApiModelProperty("更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd" )
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date updateTime;

    @ApiModelProperty("检查人")
    private Long inspectOrderInspector;

    @ApiModelProperty("检查人名称")
    @NameTitle(nameType = "USER",nameCode = "inspectOrderInspector")
    private String inspectOrderInspectorName;

}
